#ifndef H_CONSTS_H
#define H_CONSTS_H

#include <QObject>
#include <QMultiMap>
#include <QList>
//-E chdir d:\work_projects\current\MDevice.Checker\prj\src autoIncVerConsole.exe 0 1 d:\TEMP

namespace Mikroakustika {
namespace MDeviceChecker {

const QString verType      = "";
const QString VendorName   = "FTDI";
const QString Manufacturer = "Mikroakustika";
const QString toolTipTray  = "Mikroakustika Device.Checker";
const QString Description  = "F-205.60";
const QString iVendor      = "403";
const QString iVendorStr   = "0403";
const QString iProduct     = "6001";

const QString groupSwitches      = "SWITCHES";
const QString propertyAutoSwitch = "autoswitch";
const QString propertyNotFirstRunInThisOS = "NotFirstRunInThisOS";

const QString applicationName      = "MDeviceChecker";

const QString sCOM		   = "COM";

const QString codecCP1251  = "CP1251";
const QString codecUTF8    = "UTF-8";

const QString fileNameF3Set    = "f3.ini";
const QString f3SetGroupConfig = "Config";
const QString f3SetPropComPort = "ComPort";

struct devBusInf {
    QString description;
    QString devSerial;
    QString serialPort;
    bool checked;

    inline bool operator==(const devBusInf &rhs) const {
//        return ((this->description == rhs.description) &&
//                (this->devSerial   == rhs.devSerial)   &&
//                (this->serialPort  == rhs.serialPort));
        return (this->serialPort  == rhs.serialPort);
    }
};

typedef QMultiMap<QString, devBusInf> connDevicesType;
typedef QList<QString> avSerPort;

enum {
    maxSymbolsChipDescription = 34
};

enum devStatus {
    deviceWasRemoved = 0,
    deviceWasAdded   = 1,
    deviceOnStartApp = 2
};

enum chkBoxState {
    stateFalse = 0,
    stateTrue  = 2
};

}
}
#endif
